Revert "Scale: Always sync ::digits to Range::round-digits"
authorMatthias Clasen <mclasen@redhat.com>
Wed, 26 Apr 2017 10:18:09 +0000 (06:18 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 26 Apr 2017 11:30:19 +0000 (07:30 -0400)
This reverts commit 4a6bd134bdc192b4830a1c6228e27332d4629418.

This change in behavior broke various things.

https://bugzilla.gnome.org/show_bug.cgi?id=781605

gtk/gtkscale.c

index 0c04288255714517c5f55ac4f3ff81fc40e0e2ba..180e18e1856f8268442a311c4bd839f0c6f5a645 100644 (file)
@@ -1115,7 +1115,8 @@ gtk_scale_set_digits (GtkScale *scale,
   if (priv->digits != digits)
     {
       priv->digits = digits;
-      gtk_range_set_round_digits (range, digits);
+      if (priv->draw_value)
+        gtk_range_set_round_digits (range, digits);
 
       gtk_scale_clear_value_layout (scale);
       gtk_widget_queue_resize (GTK_WIDGET (scale));
@@ -1307,6 +1308,7 @@ gtk_scale_set_draw_value (GtkScale *scale,
           else
             gtk_css_node_insert_before (widget_node, gtk_css_gadget_get_node (priv->value_gadget), NULL);
 
+          gtk_range_set_round_digits (GTK_RANGE (scale), priv->digits);
           update_value_position (scale);
         }
       else
@@ -1314,6 +1316,8 @@ gtk_scale_set_draw_value (GtkScale *scale,
           if (priv->value_gadget)
             gtk_css_node_set_parent (gtk_css_gadget_get_node (priv->value_gadget), NULL);
           g_clear_object (&priv->value_gadget);
+
+          gtk_range_set_round_digits (GTK_RANGE (scale), -1);
         }
 
       gtk_scale_clear_value_layout (scale);